package net.zjitc.stack;

public class MyArrayStack<E> implements MyStack<E> {
    private int size;
    private Object[] arr = new Object[10];

    //使用构造函数初始化数组的长度，也就是栈的大小,
    // 可以添加一个判断栈是否为满的方法
    public MyArrayStack(int size) {
        arr = new Object[size];
    }

    public MyArrayStack() {
    }

    @Override
    public void push(E o) {
      arr[size] = o;
      size++;
    }

    @Override
    public E pop() {
        Object o = arr[size - 1];
        size--;
        return (E)o;
    }

    @Override
    public E peek() {
        return (E)arr[size-1];
    }

    @Override
    public boolean isEmpty() {
        return size==0?true:false;
    }

    public boolean isFull(){
        return size == arr.length ? true:false;
    }
}
